package com.zust513.mapper;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 财务���据访问接口
 */
public interface FinanceMapper {

    /**
     * 获取所有收入记录
     * @return 收入记录列表
     */
    @MapKey("financeId")
    List<Map<String, Object>> findAllIncomeRecords();

    /**
     * 获取总收入金额
     * @return 总收入金额
     */
    @MapKey("financeId")
    BigDecimal getTotalIncome();

    /**
     * 获取所有配送员支出记录
     * @return 支出记录列表
     */
    @MapKey("transactionId")
    List<Map<String, Object>> findAllCourierExpenses();

    /**
     * 获取特定配送员的支出记录
     * @param courierId 配送员ID
     * @return 支出记录列表
     */
    @MapKey("transactionId")
    List<Map<String, Object>> findCourierExpensesByCourierId(@Param("courierId") Integer courierId);

    /**
     * 获取总支出金额
     * @return 总支出金额
     */
    BigDecimal getTotalExpense();
}
